上一篇講了建立git 時使用的指令,這一篇我們就來看看,實際做專案時,經常用到的指令有哪些吧。
本來是表格,但放在文章上會跑掉,等等的格式如下:
指令
用處
add 檔案名 or add .
將新增的或修改過的檔案,交到暫存庫。後面寫的就是指定要加入暫存庫的檔案, . 代表所有檔案。
commit
暫存區的檔案提交到儲存庫(Repository),需要寫註解。
pull
將遠端檔案拉下來,遠端數據庫的內容自動合併。
push
將自己分支檔案推到遠端。
fetch
取得遠端的最新記錄,fetch + merge = pull。只是想確認遠端數據庫的內容卻不是真的想合併就可以使用fetch
switch
切換分支。
checkout
切換分支+檔案管理。/放棄修改尚未commit的檔案(可指定也可全部 . )。
merge
合併分支。將當前的分支與指定的另一dev分支合併。
reflog
會顯示你操作的每個git步驟。
以下整理git指令之中的參數代表的意思
有標註(!)的,代表後面還會有示意圖
指令
參數(用法)
用意
add
-p git add -p
(!)
可選放修改的檔案的其中一部份至暫存。
-igit add -i
(!)
git會以互動方式詢問要放進暫存中的檔案。
-ugit add -u
只放已提交過的檔案進暫存,且不會提交新檔案。
-fgit add -f ‘檔案名’
強制添加某檔案。
commit
-mgit commit -m ‘commit文字’
可直接提交且含commit訊息,否則git會啟動修改提交修改訊息的編輯器。
-a
檢測有被修改(不含新增)的檔案,加入暫存並且提交。
-am
加入暫存+編輯commit名+提交。
--amend
撤銷先前的commit。
status
-s
會顯示已修改的檔案名稱。
-s -b
再加上-b,則是會顯示分支的名稱。
diff
顯示有沒有add進暫存庫的檔案差異。
--cached
顯示暫存庫和HEAD的差異。
push
-ugit push -u origin 分支名
記住對應關係(本地跟遠端的關係),往後就可以直接push推送至遠端。通常是建立新遠端分支時可用。
-f-force git push -f (origin 分支名)
強制更新遠端的分支,要小心使用;等同於 -force
--set-upstream--set-upstream origin 分支名
branch
查看本地分支。
branch 分支名
建立分支(但不切換)。
-a
查看本地及遠端的分支。
-m
在建立分支的同時切換至該分支。
-d
刪除某分支;在分支已經合併過了後(沒有未保存的內容?),指令才會成功。
-D
強制刪除某分支。
checkout
切換分支。
**checkout . **
可以在commit之前回復檔案的所有,不用一個個按ctrl+Z 回復。
merge
合併兩分支,預設會產生兩個節點。
-ff --no
如果是當前分支去合併自己的子節點,那git 會預設用 fast forward 的方式合併,這樣是不會產生新節點的。加上--no
來讓git不要用fast forward操作。
resetgit reset HEAD
還原檔案狀態
--hardgit reset --hard HEAD~1
還原檔案狀態,並清除在 還原以前 的檔案紀錄
--softgit reset --soft HEAD~1
可以保留
--mixed
可能是退過版(reset過),找不到前面全部的紀錄,這時要用 git push -f
提醒:ctrl+C
即可跳出當下指令
已經改過一些東西的初始圖
git add -p
會問你 Stage this hunk [y,n,q,a,d,e,?]?
會出現”某檔案哪裏有修改”以及問你"要不要將這隻檔案加入暫存區”,可以逐項確認
git add -i
互動的編輯模式
git add -i 會出現的畫面,輸入s、a、r...
是一些很基本的步驟筆記,基本上只要理解了也不需要背或看了
先拉再推,先更新最新的下來,否則會把人家的東西蓋掉。
git fetch
git add .
git commit -m ‘……’
git pull
git push
git checkout 別的分支(例為 develope )
git branch 新分支名
commit --amend
i
I 為進入編輯指令,會出現互動的模式/預設的編輯器)esc
離開編輯:wq
儲存write並退出quit參考資料/延伸閱讀:
https://backlog.com/git-tutorial/tw/reference/basic.html#sec1
https://www.bookstack.cn/read/git-tutorial/docs-basic.md (這很讚ㄟ)
https://zlargon.gitbooks.io/git-tutorial/content/file/modify.html
猴子都能懂的git入門指南 https://backlog.com/git-tutorial/tw/stepup/stepup3_2.html
今天就到這,如有說明不周或錯誤的地方,還請多留言討論(鞠躬)。